Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Из backend-а передать массив (lex0)
Author Message
lex0
Заглянувший



Joined: 28 Jul 2007
Posts: 9
Карма: 0
   поощрить/наказать


PostPosted: Sat Jul 28, 2007 10:25 pm (написано за 3 минуты 13 секунд)
   Post subject: Из backend-а передать массив
Reply with quote

В результате запроса из фронтэнда на php генерируется двумерный массив stock[i][j]. Необходимо его вернуть во фронтэнд в такой же массив, но уже явовский. Пока приходит в голову только перевести двумерный массив в сторовую переменную и парсить уже на яве.
В схожей теме решения не нашел и похоже обсуждение отошло от топика forum.dklab.ru/viewtopic.php?t=25735&postdays=0&postorder=asc&highlight=
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sat Jul 28, 2007 10:46 pm (спустя 21 минуту; написано за 1 секунду)
   Post subject:
Reply with quote

Почитайте внимательно статьи про библиотеку, особенно моменты про передачу данных из пхп в яваскрипт
Back to top
View user's profile Send private message Send e-mail
lex0
Заглянувший



Joined: 28 Jul 2007
Posts: 9
Карма: 0
   поощрить/наказать


PostPosted: Sat Jul 28, 2007 11:34 pm (спустя 47 минут; написано за 2 минуты 19 секунд)
   Post subject:
Reply with quote

"К счастью, массивы PHP и объекты JavaScript устроены практически одинаково, поэтому можно безболезненно производить перевод PHP-массива"
и тем не менее, если я передаю $_RESULT = array("stock" => $stock); то получаю ответом на result["stock"](уже во фронтэнде по "возвращению") "object Object". При попытках запроса result["stock[1,1]"] получаю undefined.
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Sun Jul 29, 2007 11:07 am (спустя 11 часов 33 минуты; написано за 10 минут 11 секунд)
   Post subject:
Reply with quote

lex0 wrote:
При попытках запроса result["stock[1,1]"] получаю undefined
А Вы в бэкенде действительно так странно называете ключи:
Code (php): скопировать код в буфер обмена
$stock["[1,1]"] = "some value";
...
$_RESULT = array (www.php.net/array)("stock" => $stock);
?
Из приведённого Вами кода имхо, следует именно это. Кстати, из своего скудного опыта могу порекомендовать такой способ отладки:
1) Берем Firefox с установленным DOM Inspector (доступен при выборе варианта custom в процессе установки браузера)
2) пихаем нужный объект в глобальную область видимости. На примере из статьи (файл md5_frontend.htm) это будет как-то так:
Code (JavaScript): скопировать код в буфер обмена
// Function is called when an answer arrives.
            function(result, errors) {
                /*
                mydest = result;
                // Write errors to the debug div.
                document.getElementById("debug").innerHTML = errors;
                // Write the answer.[i][/i]
                document.getElementById("ans").innerHTML =
                    'MD5("' + result["str"] + '") = ' + result["md5"];
            },
3) заставляем отработать JsHttpRequest
4) открываем DOM Inspector, выбираем узел #document, справа переключаемся в вид Javascript Object, ищем свойство defaultView - это и есть наше window. Ищем там наше свойство и смотрим, что там такое получилось-то...
Дешево и сердито.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Aug 02, 2007 8:55 pm (спустя 4 дня 9 часов 47 минут; написано за 24 секунды)
   Post subject:
Reply with quote

lex0 wrote:
result["stock[1,1]"]
Почему не result['stock'][1][1] ?
Написано же в документации, что преобразованием массивов производится прозрачно.
Back to top
View user's profile Send private message Send e-mail
lex0
Заглянувший



Joined: 28 Jul 2007
Posts: 9
Карма: 0
   поощрить/наказать


PostPosted: Thu Aug 02, 2007 10:39 pm (спустя 1 час 44 минуты; написано за 23 секунды)
   Post subject:
Reply with quote

спасибо, именно так и заработало
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
Post a reply
Username
Subject
Господа спамеры и оптимизаторы!

Вы можете даже и не пытаться вставлять в текст поста ссылки - они все равно автоматически удаляются (вернее, тэги <a> заменяются на тэги <u>).

Но если не поверите и все же попытаетесь - как только увидите, что все безрезультатно, удалите свой пост, пожалуйста. Модераторы тоже люди, нехорошо, если они погрязнут в тоннах спама.
     

Disable BBCode in this post
Disable Smilies in this post
    HTML is OFF
BBCode is ON
Smilies are ON
You cannot post new topics in this forum. You can reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML